home *** CD-ROM | disk | FTP | other *** search
- asm("
- .data
- TCWipe:
- .long TCWQ,TCW1,TCW2,TCW3,TCW4,TCW5,TCW6,TCW7
- .long TCW8,TCW9,TCW10,TCW11,TCW12,TCW13,TCW14,TCW15
- .long TCW16,TCW17,TCW18,TCW19,TCW20,TCW21,TCW22,TCWCMD
- .long TCW24,TCW25,TCW26,TCWCMD,TCWCMD,TCWCMD,TCWCMD,TCWCMD
- .long TCW32,TCW33,TCW34,TCWCMD,TCWCMD,TCWCMD,TCWCMD,TCWCMD
- .long TCW40,TCW41,TCW42,TCWCMD,TCWCMD,TCWCMD,TCWCMD,TCWCMD
- .long TCW48,TCW49,TCW50,TCWCMD,TCWCMD,TCWCMD,TCWCMD,TCWCMD
- .long TCWCMD,TCWCMD,TCWCMD,TCWCMD,TCWCMD,TCWCMD,TCWCMD,TCWCMD
-
- .text
-
- moveml d2-d7/a2-a6,sp@-
- movel %1@+,d7
-
- TCWCMD:
- movel #TCWipe,a2
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCW1:
- movel %0@+,a6
- movew %1@+,d0
- movew d0,a6@(d7:l)
- addl #2,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCW2:
- movel %0@+,a6
- movel %1@+,d0
- movel d0,a6@(d7:l)
- addl #4,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCW3:
- movel %0@+,a6
- movel %1@+,d0
- movel d0,a6@(d7:l)
- movew %1@+,d0
- movew d0,a6@(4,d7:l)
- addl #6,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCW4:
- movel %0@+,a6
- movel %1@+,d0
- movel d0,a6@(d7:l)
- movel %1@+,d0
- movel d0,a6@(4,d7:l)
- addl #8,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCW5:
- movel %0@+,a6
- movel %1@+,d0
- movel %1@+,d1
- movew %1@+,d2
- movel d0,a6@(d7:l)
- movel d1,a6@(4,d7:l)
- movew d2,a6@(8,d7:l)
- addl #10,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
- TCW6:
- movel %0@+,a6
- moveml %1@+,d0-d1/d2
- moveml d0-d1/d2,a6@(d7:l)
- addl #12,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW7:
- movel %0@+,a6
- movew %1@+,d0
- movew d0,a6@(d7:l)
- moveml %1@+,d0-d1/d2
- moveml d0-d1/d2,a6@(2,d7:l)
- addl #14,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW8:
- movel %0@+,a6
- moveml %1@+,d0-d1/d2/d3
- moveml d0-d1/d2/d3,a6@(d7:l)
- addl #16,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW9:
- movel %0@+,a6
- movew %1@+,d0
- movew d0,a6@(d7:l)
- moveml %1@+,d0-d1/d2/d3
- moveml d0-d1/d2/d3,a6@(2,d7:l)
- addl #18,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW10:
- movel %0@+,a6
- moveml %1@+,d0-d1/d2/d3/d4
- moveml d0-d1/d2/d3/d4,a6@(d7:l)
- addl #20,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW11:
- movel %0@+,a6
- movew %1@+,d0
- movew d0,a6@(d7:l)
- moveml %1@+,d0-d1/d2/d3/d4
- moveml d0-d1/d2/d3/d4,a6@(2,d7:l)
- addl #22,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW12:
- movel %0@+,a6
- moveml %1@+,d0-d1/d2/d3/d4/d5
- moveml d0-d1/d2/d3/d4/d5,a6@(d7:l)
- addl #24,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW13:
- movel %0@+,a6
- movew %1@+,d0
- movew d0,a6@(d7:l)
- moveml %1@+,d0-d1/d2/d3/d4/d5
- moveml d0-d1/d2/d3/d4/d5,a6@(2,d7:l)
- addl #26,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW14:
- movel %0@+,a6
- moveml %1@+,d0-d1/d2/d3/d4/d5/d6
- moveml d0-d1/d2/d3/d4/d5/d6,a6@(d7:l)
- addl #28,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW15:
- movel %0@+,a6
- movew %1@+,d0
- movew d0,a6@(d7:l)
- moveml %1@+,d0-d1/d2/d3/d4/d5/d6
- moveml d0-d1/d2/d3/d4/d5/d6,a6@(2,d7:l)
- addl #30,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW16:
- movel %0@+,a6
- moveml %1@+,d0-d1/d2/d3/d4/d5/d6/a0
- moveml d0-d1/d2/d3/d4/d5/d6/a0,a6@(d7:l)
- addl #32,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW17:
- movel %0@+,a6
- movew %1@+,d0
- movew d0,a6@(d7:l)
- moveml %1@+,d0-d1/d2/d3/d4/d5/d6/a0
- moveml d0-d1/d2/d3/d4/d5/d6/a0,a6@(2,d7:l)
- addl #34,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW18:
- movel %0@+,a6
- moveml %1@+,d0-d1/d2/d3/d4/d5/d6/a0/a1
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1,a6@(d7:l)
- addl #36,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW19:
- movel %0@+,a6
- movew %1@+,d0
- movew d0,a6@(d7:l)
- moveml %1@+,d0-d1/d2/d3/d4/d5/d6/a0/a1
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1,a6@(2,d7:l)
- addl #38,%0
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW20:
- movel %0@+,a6
- moveml %1@+,d0-d1/d2/d3/d4/d5/d6/a0/a1/a2
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1/a2,a6@(d7:l)
- addl #40,%0
- movel #TCWipe,a2
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW21:
- movel %0@+,a6
- movew %1@+,d0
- movew d0,a6@(d7:l)
- moveml %1@+,d0-d1/d2/d3/d4/d5/d6/a0/a1/a2
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1/a2,a6@(2,d7:l)
- addl #42,%0
- movel #TCWipe,a2
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW22:
- movel %0@+,a6
- moveml %1@+,d0-d1/d2/d3/d4/d5/d6/a0/a1/a2/a3
- moveml d0-d1/d2/d3/d4/d5/d6/a0/a1/a2/a3,a6@(d7:l)
- addl #44,%0
- movel #TCWipe,a2
- movew %0@+,d0
- aslw #2,d0
- movel a2@(d0:w),a0
- jmp a0@
-
-
- TCW24:
- TCW25:
- TCW26:
- TCW32:
- TCW33:
- TCW34:
- TCW40:
- TCW41:
- TCW42:
- TCW48:
- TCW49:
- TCW50:
- TCWQ:
- moveml sp@+,d2-d7/a2-a6
- " : // No outputs
- : // Inputs
- "a" (Data),
- "a" (Store)
- : "d0","d1","d2","d3","d4","d5","d6", "d7",
- "a0","a1","a2","a3","a6"
- );
-